This application relates generally to a method and system of locating data on disc drives, and more particularly to a method and system of dynamically locating data sector splits across servo bursts.
Disc drives are data storage devices that store digital data in magnetic form on a storage medium on a rotating data disc. Modern disc drives comprise of one or more rigid data discs that are coated with a magnetizable medium and mounted on the hub of a spindle motor for rotation at a constant high speed. An array of transducers, referred to as xe2x80x9cdata headsxe2x80x9d or xe2x80x9cheads,xe2x80x9d are mounted to an actuator arm, and a servo system is used to move the actuator arm such that a particular head is positioned over a desired location for reading or writing information to and from the disc. During a write operation, the head writes data onto the disc and during a read operation the head senses the data previously written on the disc and transfers the information to an external environment.
Data on the data disc is typically stored on concentric circular tracks along the surface of the disc. Often, the disc is divided into several disc xe2x80x9czonesxe2x80x9d which contain regions of adjacent tracks with a common recording bit rate. Some disc drive configurations intersperse servo information at various points along each track for maintaining accurate head positioning over the disc. Servo information is typically written to each track in designated servo burst sectors and divides each disc track into slices called data wedges. As the disc rotates, the head reads the servo information contained in the servo bursts and sends the servo information back to the servo system to make any necessary position adjustments to the actuator arm.
Additionally, every track may be divided into discrete data sectors containing packets of user data. A data sector generally contains a user data field that is encapsulated with servo data to help identify and process the user data. Because data sector fields are typically fixed-length fields, they may be required to split across servo bursts when an integer number of data sectors cannot fit within a data wedge. When a data sector split occurs, a portion of the data sector is located before the servo burst and another portion of the data sector is located after the servo burst. In general, knowing which data sectors are split and where in the data sectors a split occurs is critical to locating desired data on the data disc.
One conventional method of tracking data sector splits on a disc is to store information about every data sector split occurrence in memory. The information stored about a split data sector may include the sector""s zone location, data wedge number, sector number, and split count (i.e. where in the data sector the split occurs). Data sector split information is typically determined and recorded in memory during the disc drive manufacturing process. By storing such information about each data sector split occurrence, accurate location of data on the disc drive is achieved.
A drawback of storing information about every data sector split occurrence is that the memory required to store such information can be very large. Modern disc drives typically contain many thousands of split data sectors, and storing several data entries for each split data sector requires substantial memory. Reserving large amounts of memory for storing data sector splits may raise the production cost of the disc drive, consume the drive""s resources, and slow the drive""s performance.
One known method of reducing the amount of memory required to keep track of split data sectors is to take advantage of repeating patterns of data sector splits present in many disc drive configurations. A pattern of split and non-split data sectors is typically referred to as a repeating xe2x80x9cframe.xe2x80x9d By storing information about repeating frames on the data disc, rather than storing information about every occurrence of a data sector split, the amount of memory required to locate data sector splits can be greatly reduced. Typically, a xe2x80x9cframe tablexe2x80x9d is used to store information about each repeating frame.
A frame table describing a repeating frame often includes the number of wedges in the frame followed by a series of entries describing each data wedge in the frame. The data wedge entries may include an offset count from the beginning of the frame, the number of sectors in the data wedge, and a split count for the last data sector in the data wedge. Frame tables are generally created and recorded into memory during the disc drive manufacturing process. After storing the frame tables in memory, they are accessed as needed during disc drive operation to locate disc data.
Although frame tables help reduce the amount of memory required to locate data sector splits, the amount of memory used may still be substantial. Multiple frame tables are typically required for each disc zone on a data disc because the number of wedges in a frame is dependent, in part, on the circumference of a track, the data rate, and servo sampling rate. As the storage capacity of modern disc drives continues to increase, greater numbers of zones per head are generally employed. In addition, many modern disc drives utilize variable bits per inch per head to increase disc storage capacity. Variable bits per inch per head, however, generally require unique frame tables for each head. Thus, as the number of heads used in such disc drives increases, so does the number of frame tables stored in memory. Such factors may force manufacturers to consume more and more memory for frame table storage.
Against this backdrop the present invention has been developed. The present invention provides a method of determining data sector splits across servo bursts, wherein a servo burst and a plurality of data sectors define a wedge, and a plurality of wedges define a frame. The method includes the steps of locating one or more frame table parameters based on a new zone position, creating a plurality of new frame table entries while the disc drive is in operation based on the frame table parameters, and moving the data head from a past zone position to the new zone position.
The present invention may also be embodied as a disc drive having an embedded servo configuration on a data disc. A plurality of zones of predefined tracks is located on the data disc, and disc drive includes a data transducer selectively positionable over the data disc for transferring data to and from the data disc. The data disc further includes data sector splits across servo bursts, wherein a servo burst and a plurality of data sectors define a wedge, and a plurality of wedges defines a frame. The disc drive also includes parameter memory having a plurality of zone records, the zone records including a plurality of zone table parameters. The disc drive also includes frame table memory for storing a frame table, and a frame table generator coupled with the parameter memory and the frame table memory. The frame table generator is configured to create a new frame table in the frame table memory when the data transducer is required to move to a new zone position.
An alternative embodiment of the present invention may be a method of determining data sector splits across servo bursts in a disc drive having an embedded servo configuration on a data disc. The data disc includes a plurality of zones of predefined tracks, and the disc drive includes a data transducer selectively positionable over the data disc for transferring data to and from the data disc. In this embodiment, a servo burst and a plurality of data sectors define a wedge, and a plurality of wedges defines a frame. The method includes the steps of determining a current zone position of the data transducer, locating a set of frame table parameters based on the current zone position of the data transducer, and determining frame table entries including a split count for the wedges from the frame table parameters during drive operation.
The present invention may also be embodied as a method for calculating data sector splits across servo bursts in a disc drive. The disc drive has an embedded servo configuration, with the disc drive including a plurality of zones of predefined tracks on a data disc and at least one transducer selectively positionable over the data disc. A pair of servo bursts defines a wedge having plurality of data sectors. The method includes the step of determining a new zone position of the transducer. The method further includes indexing a set of frame table variables based on the new zone position of the data head. The set of frame table variables includes a non-split sector phase count of clock pulses between a first servo burst and a data area, a wedge data count of clock pulses within the data area, a non-split sector data count of clock pulses within a sector, a split penalty count of clock pulses for a split sector, a minimum split count of clock pulses for the split sector, and a maximum split count of clock pulses for the split sector. The method also includes constructing a frame table from the frame table variables during drive operation.
These and various other features as well as advantages which characterize the present invention will be apparent from a reading of the following detailed description and a review of the associated drawings.